package com.ruoyi.order.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单业务对象 t_order
 *
 * @author ruoyi
 * @date 2022-08-29
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TOrderBo extends BaseEntity {

    /**
     * id
     */
    @NotBlank(message = "id不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 订单号
     */
    @NotBlank(message = "订单号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String orderNo;

    /**
     * 课程id
     */
    @NotBlank(message = "课程id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String courseId;

    /**
     * 课程名称
     */
    @NotBlank(message = "课程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String courseTitle;

    /**
     * 课程封面
     */
    @NotBlank(message = "课程封面不能为空", groups = { AddGroup.class, EditGroup.class })
    private String courseCover;

    /**
     * 讲师名称
     */
    @NotBlank(message = "讲师名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String teacherName;

    /**
     * 会员id
     */
    @NotBlank(message = "会员id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String memberId;

    /**
     * 会员昵称
     */
    @NotBlank(message = "会员昵称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nickname;

    /**
     * 会员手机
     */
    @NotBlank(message = "会员手机不能为空", groups = { AddGroup.class, EditGroup.class })
    private String mobile;

    /**
     * 订单金额（分）
     */
    @NotNull(message = "订单金额（分）不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal totalFee;

    /**
     * 支付类型（1：微信 2：支付宝）
     */
    @NotNull(message = "支付类型（1：微信 2：支付宝）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long payType;

    /**
     * 订单状态（0：未支付 1：已支付）
     */
    @NotNull(message = "订单状态（0：未支付 1：已支付）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long status;


}
